#include "kdcjobsplugin.h"

#include <KPluginFactory>
#include <KPluginLoader>

class KDCJobsPlugin;

#include <KLocale>
#include <kdclib.h>

K_PLUGIN_FACTORY( KDCJobsPluginFactory, registerPlugin< KDCJobsPlugin >(); )
K_EXPORT_PLUGIN( KDCJobsPluginFactory( "KDCJobsPlugin" ) )

KDCJobsPlugin::KDCJobsPlugin( QObject *parent, const QVariantList &args ) : KDCPluginInterface( parent ), pInfo( KPluginInfo("kdcjobsplugin.desktop", "services") ), pInterfaces( NULL ), pJobsInterfaceImpl( NULL )
{

}

KDCJobsPlugin::~KDCJobsPlugin()
{
	unload();
}

QString KDCJobsPlugin::interfaceName() const
{
	return "KDCJobsPlugin";
}

const KPluginInfo& KDCJobsPlugin::info() const
{
	return pInfo;
}

QWidget* KDCJobsPlugin::widget() const
{
	return NULL;
}

KDCConfigPageInterface* KDCJobsPlugin::configPage() const
{
	return NULL;
}

KDC::Position KDCJobsPlugin::tabPosition() const
{
	return KDC::Left;
}

bool KDCJobsPlugin::load()
{
	pJobsInterfaceImpl = new JobsInterfaceImpl( this );
	return true;
}

bool KDCJobsPlugin::unload()
{
	pInterfaces->removeOne( pJobsInterfaceImpl );
	deletePtr( pJobsInterfaceImpl );
	return true;
}

bool KDCJobsPlugin::init()
{
	return true;
}

bool KDCJobsPlugin::setInterfaces( QList<KDCBaseInterface*>& aInterfaces )
{
	pInterfaces = &aInterfaces;
	aInterfaces.append( pJobsInterfaceImpl );
	return true;
}

KDCObject* KDCJobsPlugin::currentObject() const
{
	return NULL;
}

void KDCJobsPlugin::refresh()
{

}

void KDCJobsPlugin::setObject( KDCObject *aObject )
{

}

#include "kdcjobsplugin.moc"
